home *** CD-ROM | disk | FTP | other *** search
- package javax.swing;
-
- import javax.accessibility.AccessibleRole;
- import javax.accessibility.AccessibleState;
- import javax.swing.event.ChangeEvent;
- import javax.swing.event.ChangeListener;
-
- public class JMenuItem$AccessibleJMenuItem extends AbstractButton.AccessibleAbstractButton implements ChangeListener {
- private boolean isArmed;
- private boolean hasFocus;
- private boolean isPressed;
- private boolean isSelected;
- // $FF: synthetic field
- final JMenuItem this$0;
-
- JMenuItem$AccessibleJMenuItem(JMenuItem var1) {
- super(var1);
- this.this$0 = var1;
- this.isArmed = false;
- this.hasFocus = false;
- this.isPressed = false;
- this.isSelected = false;
- var1.addChangeListener(this);
- }
-
- public AccessibleRole getAccessibleRole() {
- return AccessibleRole.MENU_ITEM;
- }
-
- private void fireAccessibilityFocusedEvent(JMenuItem var1) {
- MenuElement[] var2 = MenuSelectionManager.defaultManager().getSelectedPath();
- if (var2.length > 0) {
- MenuElement var3 = var2[var2.length - 1];
- if (var1 == var3) {
- this.firePropertyChange("AccessibleState", (Object)null, AccessibleState.FOCUSED);
- }
- }
-
- }
-
- public void stateChanged(ChangeEvent var1) {
- this.firePropertyChange("AccessibleVisibleData", false, true);
- if (this.this$0.getModel().isArmed()) {
- if (!this.isArmed) {
- this.isArmed = true;
- this.firePropertyChange("AccessibleState", (Object)null, AccessibleState.ARMED);
- this.fireAccessibilityFocusedEvent(this.this$0);
- }
- } else if (this.isArmed) {
- this.isArmed = false;
- this.firePropertyChange("AccessibleState", AccessibleState.ARMED, (Object)null);
- }
-
- if (this.this$0.isFocusOwner()) {
- if (!this.hasFocus) {
- this.hasFocus = true;
- this.firePropertyChange("AccessibleState", (Object)null, AccessibleState.FOCUSED);
- }
- } else if (this.hasFocus) {
- this.hasFocus = false;
- this.firePropertyChange("AccessibleState", AccessibleState.FOCUSED, (Object)null);
- }
-
- if (this.this$0.getModel().isPressed()) {
- if (!this.isPressed) {
- this.isPressed = true;
- this.firePropertyChange("AccessibleState", (Object)null, AccessibleState.PRESSED);
- }
- } else if (this.isPressed) {
- this.isPressed = false;
- this.firePropertyChange("AccessibleState", AccessibleState.PRESSED, (Object)null);
- }
-
- if (this.this$0.getModel().isSelected()) {
- if (!this.isSelected) {
- this.isSelected = true;
- this.firePropertyChange("AccessibleState", (Object)null, AccessibleState.CHECKED);
- this.fireAccessibilityFocusedEvent(this.this$0);
- }
- } else if (this.isSelected) {
- this.isSelected = false;
- this.firePropertyChange("AccessibleState", AccessibleState.CHECKED, (Object)null);
- }
-
- }
- }
-